package com.lwj.springbootvue.mapper;

import java.util.List;
import com.lwj.springbootvue.model.Student;
import com.lwj.springbootvue.model.vo.StudentVo;
import org.apache.ibatis.annotations.Mapper;

/**
 * 学生Mapper接口
 * 
 * @author king
 * @date 2024-12-25
 */

@Mapper
public interface StudentMapper 
{
    /**
     * 查询学生
     * 
     * @param sid 学生主键
     * @return 学生
     */
    public Student selectStudentBySid(Long sid);

    /**
     * 查询学生列表
     * 
     * @param student 学生
     * @return 学生集合
     */
    public List<Student> selectStudentList(Student student);


    /**
     * 查询学生列表+班级列表
     *
     * @param student 学生
     * @return 学生集合
     */
    public List<StudentVo> selectStudentVoList(Student student);

    /**
     * 新增学生
     * 
     * @param student 学生
     * @return 结果
     */
    public int insertStudent(Student student);

    /**
     * 修改学生
     * 
     * @param student 学生
     * @return 结果
     */
    public int updateStudent(Student student);

    /**
     * 删除学生
     * 
     * @param sid 学生主键
     * @return 结果
     */
    public int deleteStudentBySid(Long sid);

    /**
     * 批量删除学生
     * 
     * @param sids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStudentBySids(Long[] sids);
}
